/**
 * 格式化日期时间
 * @param {number|string|Date} timestamp - 时间戳或日期对象
 * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - 格式化模板
 * @returns {string} 格式化后的日期时间字符串
 */
export function formatDateTime(timestamp, format = 'YYYY-MM-DD HH:mm:ss') {
    if (!timestamp) return '-';
    
    const date = new Date(timestamp);
    if (isNaN(date.getTime())) return '-';
    
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    const hours = String(date.getHours()).padStart(2, '0');
    const minutes = String(date.getMinutes()).padStart(2, '0');
    const seconds = String(date.getSeconds()).padStart(2, '0');
    
    return format
        .replace('YYYY', year)
        .replace('MM', month)
        .replace('DD', day)
        .replace('HH', hours)
        .replace('mm', minutes)
        .replace('ss', seconds);
}

/**
 * 格式化日期
 * @param {number|string|Date} timestamp - 时间戳或日期对象
 * @returns {string} 格式化后的日期字符串 (YYYY-MM-DD)
 */
export function formatDate(timestamp) {
    return formatDateTime(timestamp, 'YYYY-MM-DD');
}

/**
 * 格式化时间
 * @param {number|string|Date} timestamp - 时间戳或日期对象
 * @returns {string} 格式化后的时间字符串 (HH:mm:ss)
 */
export function formatTime(timestamp) {
    return formatDateTime(timestamp, 'HH:mm:ss');
} 